#include "OurCornerKickWithoutBallBehavior.h"

/**
 *
 * pri zahravani nasho rohoveho kopu,bud sa posunie hrac na urcitu poziciu 
 * alebo na poziciu kde je lopta, aby mohol rozohrat,
 * najrpv sa urci kto bude rozohravat a ak je to moje cislo tak sa posuniem pri loptu
 *
 */
void OurCornerKickWithoutBallBehavior::Behave(void)
{
	// Rozohravatel nasho rohoveho kopu
	int nCornerKickerUniform;
	
	if(DATA_STORAGE.ballPosition.GetY() < 0)
		nCornerKickerUniform = 10;
	else
		nCornerKickerUniform = 11;

	if(DATA_STORAGE.myUniform == nCornerKickerUniform)
	{
		GetRunToPositionBehaviour()->Behave(DATA_STORAGE.ballPosition, 1);
	}
	else
	{
		Point CornerKickPositions[11] =
		{
			Point(-45,   0),	// Brankar
			Point(  0, -16),	// Hrac c. 2
			Point(  0,  16),	// Hrac c. 3
			Point( 10,   0),	// Hrac c. 4
			Point( 43, -10),	// Hrac c. 5
			Point( 30,  24),	// Hrac c. 6
			Point( 16,  13),	// Hrac c. 7
			Point( 34,  11),	// Hrac c. 8
			Point( 34,  -2),	// Hrac c. 9
			Point( 48,  -25),	// Hrac c. 10
			Point( 48,  25),	// Hrac c. 11
		};

		if(DATA_STORAGE.ballPosition.GetY() < 0)
		{
			for(int i = 0; i < 11; i++)
			{
				CornerKickPositions[i].SetY(-1 * CornerKickPositions[i].GetY());
			}
		}

		GetRunToPositionBehaviour()->Behave(CornerKickPositions[DATA_STORAGE.myUniform - 1], 1);
	}
}
